1. Technical Field
The present invention relates to the communication of signals, in particular, to the transmission and reception of digital signals. More specifically, the present invention relates to encoding and decoding the data being sent to reduce the offset of the signal around the sampling threshold voltage when the data rate is above the bandwidth of the channel.
The present invention is particularly applicable to interfaces between integrated circuits and for high speed communications, such as currently addressed by Asynchronous Transfer Mode (ATM), Gigabit Ethernet, 3GIO, RapidIO, Hyperchannel and Fibre Transmission Channels, and makes possible yet higher data rates for a particular bandwidth of the transmission medium.
2. Background of the Invention
As the operating frequency of complex digital communication and data transfer systems increases, one of major technical challenge has been to improve the data transmission when the data rate is about or exceeds the bandwidth of a communication channel. A conventional communication channel comprising a differential driver, such as an LVDS (Low Voltage Differential Signaling) driver, a production package for the integrated circuit such as a BGA (Ball Grid Array), a printed circuit board, a receiver packaged similarly with its ESD (Electronic Static Discharge) structure, acts together as a filter. In the example given of a LVDS driver, BGA, pcb trace, BGA and receiver ESD structure and input parasitics, will have a cut-off frequency of around 1 GHz, and with between 4 and 6 poles, the slope will be sharp. A signal at 6 GHz (or 12 Gbps) may only have 20% of the amplitude of a signal at 1 GHz (2 Gbps). A 20 GHz (40 Gbps) signal over a 2 GHz BW channel may have only 10% of the amplitude of the 2 GHz (4 Gbps) components.
The receiver commonly has a relatively fixed sampling threshold voltage or current. If the signal being transmitted is a sine wave, and small changes are introduced at the time the sine wave is transmitted, such as by channel calibration processes or simply jitter, the entire signal can shift such that none of the data points for a period after the time shift cross the sampling threshold. An example of this is shown in FIG. 2. In this plot, the signal at 6 GHz is sent through a channel with 1 GHz bandwidth, and then at the start of the third cycle, the data is shifted in the transmitter by 5 ps. The result is that at the receiver, the signal no longer crosses the threshold. This problem is related to the ratio of the bandwidth of the channel to the bandwidth of the data, and the degree of non-linearity in the channel, so a 12 Gbps signal sent over a channel with 1 GHz bandwidth will behave as shown in FIG. 2, but 40 Gbps over a 2 GHz BW channel would have much worse behaviour.
The problem gets even more complex when the signal is not an almost continuous sine wave but rather a data signal, such as in FIG. 3, in which the same 1 GHz bandwidth channel is shown, sending data which varies in bandwidth from 1 GHz to 6 GHz. A channel implemented using standard production packages, such as BGAs, 1 GHz bandwidth drivers and with the receiver having the normal 2 KV HBM (Human Body Model) ESD protection, will cause signals above 1 GHz to have a dramatic loss in amplitude. It is normal practice in such situations to equalise the channel by attenuating the lower frequencies, effectively increasing the channel bandwidth. However, the tolerance on the components in the channel and the number of poles, typically 4 to 6 even in a direct chip to chip link, limits greatly the practical use of equalization. The result is that the system must tolerate the filter response when sending data.
The limited ability to equalise the channel at a practical level means that above the pass band of the channel, the data will be attenuated. This attenuation can be managed using tracking receiver thresholds, however, the impulse response of the filter causes a more dramatic problem: the entire data signal shifts over a small number of cycles as a function of tiny amounts of phase noise or phase variations.
In a channel with 1 GHz bandwidth (BW), if the signal comprises a pattern at 1 GHz, then the driver and receiver will reach their saturated values. When the data pattern changes from a 1 GHz repetitive signal to a series of data bits equivalent to a 6 GHz repetitive signal, the speed of response depends on where in the sine wave the 1 GHz signals happens to be at the point of change. Each cycle of the 6 GHz signal represents a little over 1 radian of the 1 GHz signal. The 1 GHz signal normalised to +/− 1V, will change at a rate of 2V per nS over the radian centred on the sampling threshold, but less than 1/12th of this over 1 radian of the cycle centred about the apex of the 1 GHz sinusoid. For the reader unfamiliar with Kalman filtering and signal processing, the received signal can be considered to have a momentum, determined by the impulse response of the channel filter characteristic. This means that a 1 unit time delay of the signal, imposed on the signal as it crosses the sampling threshold, will have 6 to 12 times the effect at the receiver than the same unit time delay of the signal as it is at its apex, where the unit of time is a very small number.
The variation in time in the received signal, caused by a delay imposed on the signal before the driver, can vary over a ratio of 1:6 in the example given above. The actual variation is a product of the two bandwidths: the bandwidth of the channel, and the bandwidth of the data. This problem is evident from FIG. 3, where a change from DC to ⅛th cycle of a 1 GHz signal, to a 6 GHz signal occurs in rapid succession in a channel with a 1 GHz bandwidth.
The use of transmission codes to improve the received characteristics of the information is well known in the prior art. For example, Manchester and 8 b/10 b encoding is commonly used to ensure there are sufficient transitions present in the bit stream to make clock recovery possible, as in U.S. Pat. Nos. 4,420,234 and 4,486,739. Coding is known also as a means to improve noise immunity of a signal in a communication channel, such as described in U.S. Pat. No. 5,944,842. Other coding methods have been used for many decades to increase the probability of detecting single or multiple bit errors. However, these existing schemes operate within the channel bandwidth, or within the bandwidth that can support baseband transmission and sampling using a relatively fixed sample threshold voltage or current.